The present invention relates to a system and method for sharing data between software programs in general, and in particular, but not exclusively, to a system and method for sharing data between video game programs.
Video games are popularly played on systems which are functionally devoted to that use. Such a system includes a console connected to a video monitor or television set. The console houses a processor and has a slot for receiving a cartridge containing program information for a particular game to be played. One or more controllers, which may be hand-held, are connected to the console, and each controller has a joystick, buttons or other user interface thereon. Signals from the controller or controllers are transmitted to the console and thus enable the player of a game to interact with the console.
Generally, a cartridge comprises Read Only Memory which contains a game program. The console acts under the control of the game program to process signals received from the controller and to provide video and audio signals to be sent to the monitor or television set.
The content of video games can be quite vast. Some video game programs require the player to traverse a maze while others require the player to find hidden objects to, for example, fight against evil or help save a princess. Once the player reaches the end of the game or feels he has sufficiently completed the game, the player often loses interest in the game. In response, manufacturers often create multiple versions of a popular game offering, for example, new quests for the character of that game. However, even though the general essence of the game is retained in subsequent versions, the original game remains essentially useless to the player. Furthermore, each of the subsequent games in the sequence is separate and distinct, providing no interaction between the games, but rather only a common theme.
Therefore, there is a need for a system that prolongs the useful life of video games, and thus video game cartridges or other storage media, by maintaining a player""s interest in the game by the sharing of data between separate games.
The present invention provides a system for sharing information between software programs. The data sharing system includes a control unit having a processor and a memory that stores information pertaining to a first program that has been previously executed by the processor. The data sharing system also includes a data storage medium that is coupleable to the control unit. The data storage medium stores a second program that when coupled to and implemented by the processor of the control unit, retrieves information pertaining to the first program from the memory of the control unit and utilizes the retrieved information in the execution of the second program. As a result, information from the first program can affect the implementation of the second program. The first program is typically, but not necessarily, stored on a separate data storage medium.
In accordance with further aspects of the present invention, the second program, when implemented by the processor, confirms the validity of the retrieved information prior to utilizing it in the implementation of the second program.
In accordance with yet further aspects of the invention, the first program, identified above as having been previously executed, contains instructions that when executed by the processor specifically identifies information pertaining to the first program that is shareable with the second program and stores this information in the memory of the control unit for subsequent retrieval by the second program.
In accordance with yet other further aspects of the invention, the first program alternatively contains instructions that when executed by the processor specifically identifies information for sharing with the second program and provides a code that is associated with this identified information to a user of the first program via a display coupled to the control unit. In this instance, the code is provided instead of storing the identified information to the memory. In this regard, the second program alternatively contains instructions that when executed by the processor ask the user to provide a code, if any, and then utilize the information associated with the code in the implementation of the second program.
In accordance with yet other alternative aspects of the present invention, the control unit is a video game console, and the data storage media are first and second game cartridges storing first and second video game programs, respectively.
As will be readily appreciated from the foregoing description, the invention provides a system that supports interaction between software programs and that is ideally suited for a video game system. Because a first video game program can identify information for use by a second video game program to affect the characteristics thereof and vice versa, the complexity of the video games is increased and a video game player""s interest in the games is further captivated.